package com.mtw.bbs.auth.provider;


import com.mtw.bbs.auth.pojo.TokenInfo;
import com.mtw.bbs.auth.pojo.LoginForm;

/**
 * 授权方式
 */
public interface TokenProvider {


    /**
     * 认证方法
     * @param form     参数
     * @return          已认证用户信息
     */
    TokenInfo authentication(LoginForm form);


    /**
     * 刷新令牌
     * @return          已认证用户信息
     */
    TokenInfo refresh(String accessToken ,String refreshToken);


    /**
     * 登出
     * @param token token
     */
    boolean logout(String token);


}
